﻿using System;
using System.Data;
using System.Text;
using System.Configuration;
using System.Globalization;

namespace BizElements.Core.ProviderComponents
{
    /// <summary>Renders CONTAINS predicate as SQL element.</summary>
    public interface IContainsPredicateRenderer
    {
        /// <summary>Renders CONTAINS predicate as SQL element.</summary>
        /// <param name="contains">Contains predicate.</param>
        /// <param name="dbms">Target DBMS.</param>
        /// <param name="output">StringBuilder to which SQL is appended.</param>
        /// <param name="parameters">SQL parameter collection to which the object's and its children's
        /// parameters are added. After the rendering is done the collection contains all parameters with unique names.</param>
        void Render(ContainsPredicate contains, DbmsType dbms, StringBuilder output, DbParameterCollection parameters);
    }
}